package main

import (
	"encoding/json"
	"fmt"
	"io/ioutil"
)

//不写字段后面的json tag也可以正常运行
type MongoConfig struct {
	MongoAddr       string `json:"mongoAddr"`
	MongoPoolLimit  int    `json:"mongoPoolLimit"`
	MongoDb         string `json:"mongoDb"`
	MongoCollection string `json:"mongoCollection"`
}

type Config struct {
	Port  string      `json:"port"`
	Mongo MongoConfig `json:"mongo"`
}

func main() {
	data, err := ioutil.ReadFile("cp6_file/json/json_parse.json")
	fmt.Println(string(data))
	if err != nil {
		fmt.Println(err)
		return
	}

	obj := Config{}
	//解析json字符串为结构图对象
	err = json.Unmarshal(data, &obj)
	if err != nil {
		fmt.Println(err)
		return
	}
	fmt.Println(obj)

	fmt.Println(obj.Port)
	fmt.Println(obj.Mongo)
	fmt.Println(obj.Mongo.MongoAddr)
}
